This section introduces aspects that may be helpful to facilitating a better understanding of the inventions. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
Software defined networking (SDN) is a network architecture framework that decouples network control from the underlying network switching infrastructure so as to enable network control to become directly programmable. This decoupling allows the underlying network infrastructure to be abstracted for applications and services running on the network. An SDN controller is used to manage flow control in an SDN network. For example, SDN controllers are typically based on protocols, such as the OpenFlow™ (Open Networking Foundation) protocol, that allow control servers to instruct network elements (e.g., switches) where to send packets. In such a scenario, the SDN controller is referred to as an OpenFlow™ controller and the switches are referred to as OpenFlow™ switches. Such a controller serves as a type of operating system for the SDN network. By separating the control plane from the network hardware and running the control plane instead as software, the controller facilitates automated network management, as well as integration and administration of applications and services.
However, there are challenging security issues in an SDN network that are not addressed by existing security mechanisms.